package com.tianhao.luo.nouse.input_params_plus;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Collection;
import java.util.Map;

/**
 * @ClassName: Son
 * @Description: 子类，用来测试输入参数扩大
 * @author: tianhao.luo@hand-china.com
 * @date: 2020/7/9  16:40
 */
public class Son extends Father{
    private static final Logger LOGGER = LoggerFactory.getLogger(Son.class);
    /**
     * 重载，放大输入参数
     * 与父类的方法名相同，但又不是覆写（Override）父类的方法。
     * 你加个@Override试试看，会报错的，为什么呢？方法名虽然相同，
     * 但方法的输入参数不同，就不是覆写，那这是什么呢？
     * 是重载（Overload）！不用大惊小怪的，不在一个类
     * 就不能是重载了？继承是什么意思，子类拥有父类的所
     * 有属性和方法，方法名相同，输入参数类型又不相同，当然是重载了。
     * @param map 参数
     * @return 集合
     */
    public Collection doSomething(Map<String, String> map) {
        LOGGER.info("子类被执行：{}",this.getClass());
        return map.values();
    }
}
